//
//  UIImage+Scale.swift
//  PhotoChooser
//
//  Created by 雷路荣 on 15/12/30.
//  Copyright © 2015年 leilurong. All rights reserved.
//

import UIKit

extension UIImage {
    /*
    服务器限制图片大小小于5M，需要限制图片尺寸
    将图片等比例缩小的宽度等于300
    - returns: 缩放后的图片
    */
    func scaleImage() -> UIImage {
        let newWidth:CGFloat = 300
        // 如果图片原始的宽度小于300直接返回这张图片
        if self.size.width < newWidth {
            return self
        }
        // 图片宽度大于300,需要等比例缩放
        // 缩放后的高度 / 缩放后的宽度 = 缩放前的高度 / 缩放前的宽度
        // newHeight / newWidth = 缩放前的高度 / 缩放前的宽度
        // newHeight = newWidth * 缩放前的高度 / 缩放前的宽度
        let newHeight = newWidth * size.height / size.width
        //缩放后尺寸
        let newSize = CGSize(width: newWidth, height: newHeight)
        // 将图片缩放到newSize大小
        // 开启上image下文来画图
        UIGraphicsBeginImageContext(newSize)
        // 将图片绘制到上下文中
        drawInRect(CGRect(origin: CGPointZero, size: newSize))
        // 获取绘制号的图片
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        // 关闭上下文
        UIGraphicsEndImageContext()
        //返回图片
        return newImage
    }
}